-
Notifications
You must be signed in to change notification settings - Fork 35
[Feature]implement multi-level testing framework with pytest #313
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: develop
Are you sure you want to change the base?
Conversation
PurposeThis PR introduces a comprehensive pytest-based testing framework to enhance our testing capabilities. The new framework supports:
The purpose is to establish a standardized, scalable testing architecture that enables targeted test execution, better test organization, and future integration with performance monitoring and reporting tools. ModificationsThis PR introduces user-facing changes in the form of:
These changes establish the foundation for consistent test development and execution across the project. TestThe framework has been validated through:
The core framework functionality (test discovery, filtering, execution) is operational, while InfluxDB integration and Allure reporting will be implemented in follow-up PRs. |
f04ce72 to
3f3e9f0
Compare
a721a18 to
2af83c0
Compare
|
Separate the README into language-specific versions. (README.md & README_zh.md) |
1414beb to
aa7e57f
Compare
Wwwzff
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM
eb34721 to
1cb421c
Compare
| data2 = {"name": "alice", "age": 30, "sex": "male"} | ||
| data3 = {"name": "yang"} | ||
| success = write_to_db("user_info", data1) | ||
| write_to_db("user_info", data2) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it's better for this interface to be hidden from users and called directly by test frame to get an easier way to implement test cases
| @@ -0,0 +1,46 @@ | |||
| import datetime | |||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what's that for?
1cb421c to
0e0df83
Compare
Purpose
This PR introduces a comprehensive pytest-based testing framework to enhance our testing capabilities. The new framework supports:
Multi-level testing: Structured test execution across Unit, Smoke, Regression, and Release levels
Flexible tagging: Support for feature and platform-specific test marking (e.g., GPU/NPU)
Performance data collection: Integrated infrastructure for pushing metrics to InfluxDB (implementation pending)
Allure reporting: Framework setup for generating detailed test reports (implementation pending)
The purpose is to establish a standardized, scalable testing architecture that enables targeted test execution, better test organization, and future integration with performance monitoring and reporting tools.
Modifications
This PR introduces user-facing changes in the form of:
New directory structure under tests/ with organized test suites by level
Configuration files (pytest.ini, config.yaml) for test framework settings
Common utility modules for configuration handling, InfluxDB integration, and Allure reporting
Standardized test templates and naming conventions
Command-line options for filtering tests by stage, feature, and platform
These changes establish the foundation for consistent test development and execution across the project.
Test
The framework has been validated through:
Local execution of sample test cases at different levels
Verification of tag-based filtering using --stage, --feature, and --platform parameters
Confirmation that the directory structure and import paths work correctly
Basic CI validation ensuring the test discovery works as expected
The core framework functionality (test discovery, filtering, execution) is operational, while InfluxDB integration and Allure reporting will be implemented in follow-up PRs.